Virtual billboard display on a mobile device

ABSTRACT

A method, system, and apparatus are directed to providing advertising information to a mobile device over a network. A request is received from the mobile device. The request may comprise a query, geo-location information, and/or a user preference. If the request comprises the query, a search result is generated based on a search for the received query and/or the received geo-location information. At least one virtual billboard is determined, wherein the at least one virtual billboard is in proximity with a first geo-location identified by the received geo-location information and/or a second geo-location associated with the search result. The virtual billboard may also be based on a type of the virtual billboard, a time, a user preference (criterion), and/or a keyword included in the query. The virtual billboard is provided to the mobile device. An advertising usage is recorded for the provided virtual billboard.

FIELD OF THE INVENTION

The present invention relates generally to communication on mobiledevices, and more specifically, but not exclusively to providingadvertising information on mobile devices.

BACKGROUND

Mobile devices have become a major mechanism of communication.Increasingly, advertising information is being provided on mobiledevices. Advertising information may include graphics, text, sound, orthe like. Advertising information may be provided through a variety ofmechanisms on a mobile device.

Global Positioning System (GPS) technology has improved our ability todetect precise geo-locations. GPS integration into mobile devicesenables mobile detection of these locations. However, while GPStechnology may provide accurate coordinates, it does not always provideother meaningful information about the location. Thus, it is withrespect to these considerations and others that the present inventionhas been made.

BRIEF DESCRIPTION OF THE DRAWINGS

Non-limiting and non-exhaustive embodiments of the present invention aredescribed with reference to the following drawings. In the drawings,like reference numerals refer to like parts throughout the variousfigures unless otherwise specified.

For a better understanding of the present invention, reference will bemade to the following Detailed Description, which is to be read inassociation with the accompanying drawings, wherein:

FIG. 1 is a system diagram of one embodiment of an environment in whichthe invention may be practiced;

FIG. 2 shows one embodiment of a mobile device that may be included in asystem implementing the invention;

FIG. 3 shows one embodiment of a network device that may be included ina system implementing the invention;

FIG. 4 illustrates a logical flow diagram generally showing oneembodiment of a process for providing advertising information on amobile device; and

FIG. 5 illustrates a logical flow diagram generally showing oneembodiment of a process for managing a purchase of a virtual billboard,in accordance with the present invention.

DETAILED DESCRIPTION OF THE INVENTION

The present invention now will be described more fully hereinafter withreference to the accompanying drawings, which form a part hereof, andwhich show, by way of illustration, specific exemplary embodiments bywhich the invention may be practiced. This invention may, however, beembodied in many different forms and should not be construed as limitedto the embodiments set forth herein; rather, these embodiments areprovided so that this disclosure will be thorough and complete, and willfully convey the scope of the invention to those skilled in the art.Among other things, the present invention may be embodied as methods ordevices. Accordingly, the present invention may take the form of anentirely hardware embodiment, an entirely software embodiment or anembodiment combining software and hardware aspects. The followingdetailed description is, therefore, not to be taken in a limiting sense.

Throughout the specification and claims, the following terms take themeanings explicitly associated herein, unless the context clearlydictates otherwise. The phrase “in one embodiment” as used herein doesnot necessarily refer to the same embodiment, though it may.Furthermore, the phrase “in another embodiment” as used herein does notnecessarily refer to a different embodiment, although it may. Thus, asdescribed below, various embodiments of the invention may be readilycombined, without departing from the scope or spirit of the invention.

In addition, as used herein, the term “or” is an inclusive “or”operator, and is equivalent to the term “and/or,” unless the contextclearly dictates otherwise. The term “based on” is not exclusive andallows for being based on additional factors not described, unless thecontext clearly dictates otherwise. In addition, throughout thespecification, the meaning of “a,” “an,” and “the” include pluralreferences. The meaning of “in” includes “in” and “on.” As used herein,the terms “device input” or “user input” refer to a user input commandat a device.

As used herein, the term “geo-location” refers to any value based on ageographical coordinate system provided by a lookup mechanism,triangulation mechanism, or by any other location identification system,including GPS. The geo-location may identify a point in geographical twoor three-dimensional space, or an area in geographical two orthree-dimensional space. Lookup mechanisms include IP address togeo-location mappings, MAC address to geo-location mappings, zip codelookup, or the like. Triangulation mechanisms include WiFitriangulation, General Packet Radio Services (GPRS), or any other cellphone data technology triangulation, or any other wireless and/or radiotriangulation.

As used herein, the terms “within a proximity to” or “in proximity with”refer to two locations being near each other, wherein a measure ofnearness may be a relatively small distance based on the scale of themeasurement. Thus, for a large scale such as for distances betweencities, the measure of nearness may be larger, but for a street level orthe like, the measure may be smaller. The measure of nearness may bedetermined by any geometric measure, including a direct line between thelocations, a Manhattan distance between the locations, or evendetermined by a user, or the like. In one embodiment, a geo-location maybe within a proximity to another geo-location if the distance betweenthe two locations is within a threshold distance. In one embodiment, thedistance may be determined by a Euclidian distance equation. In anotherembodiment, other formulas may also be used to take into account thecurvature of the Earth, such as the Haversine equation, or the like.

As used herein, the term “virtual billboard” refers to a textual,graphical, sound, or other multi-media advertisement. As used herein,the term “traffic” refers to a measure of activity associated with ageo-location. Traffic may refer to an amount of physical movement ofpersons, vehicles, or the like (i.e., “foot traffic”) across ageo-location and/or a point or area in proximity with the geo-location.The amount may be the number of persons, vehicles, or the like, a changein the number over time, or any other measure based on the number.Traffic may also refer to an amount of search results returned to aplurality of search users, wherein the search results are associatedwith the geo-location and/or a point or area in proximity with thegeo-location. The traffic may be a number of impressions, a change inthe number over time, or any other measure based on the number.

Briefly, the present invention is directed to providing advertisinginformation to a mobile device over a network. A request is receivedfrom the mobile device. The request may comprise a query, geo-locationinformation and/or a user preference. If the request comprises thequery, a search result is generated based on a search for the receivedquery and/or the received geo-location information. At least one virtualbillboard is determined, wherein the at least one virtual billboard isin proximity with a first geo-location identified by the receivedgeo-location information and/or a second geo-location associated withthe search result. The virtual billboard may also be based on a type ofthe virtual billboard, a time, a user preference (criterion), and/or akeyword included in the query. The virtual billboard is provided to themobile device. An advertising usage is recorded for the provided virtualbillboard.

Illustrative Operation Environment

FIG. 1 shows components of one embodiment of an environment in which theinvention may be practiced. Not all the components may be required topractice the invention, and variations in the arrangement and type ofthe components may be made without departing from the spirit or scope ofthe invention. As shown, system 100 of FIG. 1 includes local areanetworks (“LANs”)/wide area networks (“WANs”)−(network) 105, Wirelessnetwork 110, Search and Billboard Server (SBS) 106, mobile devices(client devices) 102-104, and client device 101.

One embodiment of mobile devices 102-104 is described in more detailbelow in conjunction with FIG. 2. Generally, however, mobile devices102-104 may include virtually any portable computing device capable ofreceiving and sending a message over a network, such as network 105,Wireless network 110, or the like. Mobile devices 102-104 may also bedescribed generally as client devices that are configured to beportable. Thus, mobile devices 102-104 may include virtually anyportable computing device capable of connecting to another computingdevice and receiving information. Such devices include portable devicessuch as cellular telephones, smart phones, display pagers, radiofrequency (Rb) devices, infrared (IR) devices, Personal DigitalAssistants (PDAs), handheld computers, laptop computers, wearablecomputers, tablet computers, integrated devices combining one or more ofthe preceding devices, and the like. As such, mobile devices 102-104typically range widely in terms of capabilities and features. Forexample, a cell phone may have a numeric keypad and a few lines ofmonochrome LCD display on which only text may be displayed. In anotherexample, a web-enabled mobile device may have a touch sensitive screen,a stylus, and several lines of color LCD display in which both text andgraphics may be displayed.

A web-enabled mobile device may include a browser application that isconfigured to receive and to send web pages, web-based messages, and thelike. The browser application may be configured to receive and displaygraphics, text, multimedia, and the like, employing virtually any webbased language, including a wireless application protocol messages(WAP), and the like. In one embodiment, the browser application isenabled to employ Handheld Device Markup Language (HDML), WirelessMarkup Language (WML), WMLScript, JavaScript, Standard GeneralizedMarkup Language (SMGL), HyperText Markup Language (HTML), eXtensibleMarkup Language (XML), and the like, to display and send a message.

Mobile devices 102-104 also may include at least one other clientapplication that is configured to receive content from another computingdevice. The client application may include a capability to provide andreceive textual content, media content, and the like. The clientapplication may further provide information that identifies itself,including a type, capability, name, and the like. In one embodiment,mobile devices 102-104 may uniquely identify themselves through any of avariety of mechanisms, including a phone number, Mobile IdentificationNumber (MIN), an MSISDN, an electronic serial number (ESN), or othermobile device identifier. In one embodiment, the MSISDN may comprise aCountry Code (CC), National Destination Code (NDC) which may identify atleast one or part of a public land mobile network (PLMN), and aSubscriber Number (SN). The information may also indicate a contentformat that the mobile device is enabled to employ. Such information maybe provided in a message, or the like, sent to SBS 106, client device101, or other computing devices.

Mobile devices 102-104 may also be configured to communicate a message,such as through Short Message Service (SMS), Multimedia Message Service(MMS), instant messaging (IM), internet relay chat (IRC), Mardam-Bey'sIRC (mIRC), Jabber, and the like, between another computing device, suchas SBS 106, client device 101, each other, or the like. However, thepresent invention is not limited to these message protocols, andvirtually any other message protocol may be employed. For example, theclient application may enable a user to interact with the browserapplication, email application, VOIP applications, or the like.

Mobile devices 102-104 may further be configured to include a clientapplication that enables the end-user to log into an end-user accountthat may be managed by another computing device, such as SBS 106. Suchend-user account, for example, may be configured to enable the end-userto receive emails, send/receive IM messages, SMS messages, accessselected web pages, or the like.

In addition, mobile devices 102-104 may include another application thatis configured to enable the mobile user to share and/or receive mediacontent, and to display the media content. In one embodiment, each ofmobile devices 102-104 may share with and/or receive the media contentfrom SBS 106 and/or from another one of mobile devices 102-104. Forexample, media content may be shared between the mobile devices usingMMS, WAP, or the like. In one embodiment, a mobile device may receive amessage indicating the media content is available for viewing and/orannotating at a website, or the like.

In conjunction with sharing media content, mobile devices 102-104 mayenable an interaction with each other, through sharing various messages,and generally participating in a variety of integrated socialexperiences beyond merely voice communications. Moreover, mobile devices102-104 may enable transceiving a message through an applicationinterface on one of SBS 106, wherein SBS 106 further routes a version ofthe message to a mobile device associated with a destination phonenumber. Mobile devices 102-104 may also communicate with non-mobileclient devices, such as client device 101, or the like. In oneembodiment, such communications may include providing information aboutthe shared media to a user of client device 101, or the like.

Client device 101 may include virtually any computing device capable ofcommunicating over a network to send and receive information. Oneembodiment of client device 101 is described in more detail below inconjunction with FIG. 2. Generally however, the set of such devices mayinclude devices that typically connect using a wired or wirelesscommunications medium such as personal computers, multiprocessorsystems, microprocessor-based or programmable consumer electronics,network PCs, or the like. In one embodiment, client device 101 may beconfigured to access a website, or other location, of shared mediacontent, and to annotate the media content, add additional mediacontent, or the like.

In one embodiment, client devices 101-104 is configured to send arequest to SBS 106 over network 105 and/or wireless network 110. In oneembodiment, the request may include a query and/or geo-locationinformation. Based on the request, SBS 106 may provide a virtualbillboard over network 105 and/or wireless network 110. SBS 106 may alsoprovide a plurality of search results based on the request.

In one embodiment, as client devices 101-104 move physically closer to ageo-location, client devices 101-104 may automatically send geo-locationinformation to SBS 106. SBS 106 may respond with a virtual billboard forthe geo-location and/or search results. In another embodiment, a user ofclient devices 101-104 may enter a search query. The search query may besent to SBS 106. Geo-location information, such as GPS data, may be sentwith the search query to SBS 106. SBS 106 may provide a virtualbillboard based on the received search query and/or geo-locationinformation. In any case, the virtual billboard may be displayed onclient devices 101-104 on a display, on a map, a popup, or the like.

In one embodiment, one of client devices 101-104 may be in proximitywith a geo-location. In one embodiment, one of client devices 101-104may automatically send GPS data generated by one of client devices101-104 to SBS 106 over wireless network 110 and/or network 105. Inanother embodiment, a user of one of client devices 101-104 may enter asearch query. The search query and the generated GPS data may be sent toSBS 106. A virtual billboard associated with the geo-location and/oranother geo-location associated with search results for the search querymay be received from SBS 106. In one embodiment, a plurality of virtualbillboards may be received.

In one embodiment, the virtual billboard may be personalized and/ordetermined based on a non-geographic criterion, including a userpreference. In one embodiment, one of client devices 101-104 may enablea user to enter a non-geographic criterion, such as an interest insports. The non-geographic criteria may be sent to SBS 106 over wirelessnetwork 110 and/or network 105. In another embodiment, thenon-geographic criteria may be gathered by third-party server(s), byusage tracking (e.g., search tracking, tracking of web surfing patterns)for the user and/or one of client devices 101-104. In any case, inaddition to being based on received geo-location information and/or asearch query, a virtual billboard may be determined based on thenon-geographic criteria.

Wireless network 110 is configured to couple mobile devices 102-104 andits components with network 105. Wireless network 110 may include any ofa variety of wireless sub-networks that may further overlay stand-alonead-hoc networks, and the like, to provide an infrastructure-orientedconnection for mobile devices 102-104. Such sub-networks may includemesh networks, Wireless LAN (WLAN) networks, cellular networks, and thelike.

Wireless network 110 may further include an autonomous system ofterminals, gateways, routers, and the like connected by wireless radiolinks, and the like. These connectors may be configured to move freelyand randomly and organize themselves arbitrarily, such that the topologyof Wireless network 110 may change rapidly. In one embodiment, at leasta portion of Wireless network 110 comprises a Public Land Mobile Network(PLMN), a Public Telephone Switching Network (PTSN), Gateway MobileSwitching Centers (GMSCs), or the like.

Wireless network 110 may further employ a plurality of accesstechnologies including 2nd (2G), 3rd (3G) generation radio access forcellular systems, WLAN, Wireless Router (WR) mesh, and the like. Accesstechnologies such as 2G, 3G, and future access networks may enable widearea coverage for mobile devices, such as mobile devices 102-104 withvarious degrees of mobility. For example, Wireless network 110 mayenable a radio connection through a radio network access such as GlobalSystem for Mobile communication (GSM), General Packet Radio Services(GPRS), Enhanced Data GSM Environment (EDGE), Wideband Code DivisionMultiple Access (WCDMA), and the like. In essence, Wireless network 110may include virtually any wireless communication mechanism by whichinformation may travel between mobile devices 102-104 and anothercomputing device, network, and the like. As shown wireless network 110provides a communication mechanism for mobile device 102-103, andwireless network 110 provides a communication mechanism for mobiledevice 104.

Network 105 is configured to couple SBS 106 and its components withother computing devices, including, mobile devices 102-104, clientdevice 101, third party lookup server 110, and through Wireless network110 to mobile devices 102-104. Network 105 is enabled to employ any formof computer readable media for communicating information from oneelectronic device to another. Also, network 105 can include the Internetin addition to local area networks (LANs), wide area networks (WANs),direct connections, such as through a universal serial bus (USB) port,other forms of computer-readable media, or any combination thereof. Onan interconnected set of LANs, including those based on differingarchitectures and protocols, a router acts as a link between LANs,enabling messages to be sent from one to another. Also, communicationlinks within LANs typically include twisted wire pair or coaxial cable,while communication links between networks may utilize analog telephonelines, full or fractional dedicated digital lines including T1, T2, T3,and T4, Integrated Services Digital Networks (ISDNs), Digital SubscriberLines (DSLs), wireless links including satellite links, or othercommunications links known to those skilled in the art.

Furthermore, remote computers and other related electronic devices couldbe remotely connected to either LANs or WANs via a modem and temporarytelephone link. In one embodiment, network 105 may be configured totransport information over an Internet Protocol (IP). In essence,network 105 includes any communication method by which information maytravel between SBS 106, client device 101, and other computing devices.

Additionally, communication media typically embodies computer-readableinstructions, data structures, program modules, or other data in amodulated data signal such as a carrier wave, data signal, or othertransport mechanism and includes any information delivery media. Theterms “modulated data signal,” and “carrier-wave signal” include asignal that has one or more of its characteristics set or changed insuch a manner as to encode information, instructions, data, and thelike, in the signal. By way of example, communication media includeswired media such as twisted pair or coaxial cable, fiber optics, waveguides, and other wired media and wireless media such as acoustic, RF,infrared, and other wireless media.

One embodiment of SBS 106 is described in more detail below inconjunction with FIG. 3. Briefly, however, SBS 106 may include anycomputing device capable of connecting to Network 145 to manage and/orprovide virtual billboards to client devices 101-104. In one embodiment,SBS 106 may be configured to manage a purchase of a right to use avirtual billboard by an advertiser and/or to receive payment from theadvertiser for enabling storing, searching and providing of a virtualbillboard associated with a geo-location.

In one embodiment, SBS 106 may track traffic associated with at leastone geo-location. In one embodiment, SBS 106 may receive impressioninformation associated with a geo-location from client devices 101-104and/or a third-party server. In one embodiment, SBS 106 may receive foottraffic information associated with a geo-location from client devices101-104 and/or a third-party server. In one embodiment, the foot trafficinformation may be geographical information, including GPS data. Forexample, SBS 106 may receive GPS data for a plurality of mobile devicesover time. SBS 106 may identify the geo-location of each one of clientdevices 101-104 via GPS coordinates sent from client devices 101-104, IPaddresses, MAC addresses, or the like of client devices 101-104, or evena user entered geo-location. SBS 106 may calculate the change of foottraffic over time for each of the at least one geo-location. In oneembodiment, SBS 106 may calculate a price for a virtual billboardassociated with at least one of the go-locations based on the traffic.

In one embodiment, SBS 106 may receive a request from at least one ofclient devices 101-104. The request may comprise a query and/orgeo-location information, such as a GPS coordinate of a geo-location ofone of client devices 101-104. In one embodiment, a search result may begenerated based on a search for the request. At least one virtualbillboard may be determined, wherein the at least one virtual billboardis in proximity with a first geo-location identified by the receivedgeo-location information and/or a second geo-location associated withthe search result. The virtual billboard may be provided to at least oneof client devices 101-104 over network 105 and/or Wireless network 110.In one embodiment, SBS 106 may record an advertising usage for theprovided virtual billboard.

Although FIG. 1 illustrates each of SBS 106 as a single computingdevice, the invention is not so limited. For example, one or morefunctions of each of SBS 106 may be distributed across one or moredistinct computing devices. For example, tracking of traffic, providingpurchasing of virtual billboard space, providing search services,sharing of media content, managing Instant Messaging (IM) sessions, SMSmessages, email messages, transceiving of media content, may beperformed by a plurality of computing devices, without departing fromthe scope or spirit of the present invention.

Illustrative Mobile Device

FIG. 2 shows one embodiment of mobile device 200 that may be included ina system implementing the invention. Mobile device 200 may include manymore or less components than those shown in FIG. 2. However, thecomponents shown are sufficient to disclose an illustrative embodimentfor practicing the present invention. Mobile device 200 may represent,for example, mobile devices 102-104 of FIG. 1.

As shown in the figure, mobile device 200 includes a central processingunit (CPU) 222 in communication with a mass memory 230 via a bus 224.Mobile device 200 also includes a power supply 226, one or more networkinterfaces 250, an audio interface 252, video interface 259, a display254, a keypad 256, an illuminator 258, an input/output interface 260, ahaptic interface 262, and an optional global positioning system (GPS)receiver 264. Power supply 226 provides power to mobile device 200. Arechargeable or non-rechargeable battery may be used to provide power.The power may also be provided by an external power source, such as anAC adapter or a powered docking cradle that supplements and/or rechargesa battery.

Mobile device 200 may optionally communicate with a base station (notshown), or directly with another computing device. Network interface 250includes circuitry for coupling mobile device 200 to one or morenetworks, and is constructed for use with one or more communicationprotocols and technologies including, but not limited to, global systemfor mobile communication (GSM), code division multiple access (CDMA),time division multiple access (TDMA), user datagram protocol (UDP),transmission control protocol/Internet protocol (TCP/IP), SMS, generalpacket radio service (GPRS), WAP, ultra wide band (UWB), IEEE 802.16Worldwide Interoperability for Microwave Access (WiMax), SIP/RTP, or anyof a variety of other wireless communication protocols. Networkinterface 250 is sometimes known as a transceiver, transceiving device,or network interface card (NIC).

Audio interface 252 is arranged to produce and receive audio signalssuch as the sound of a human voice. For example, audio interface 252 maybe coupled to a speaker and microphone (not shown) to enabletelecommunication with others and/or generate an audio acknowledgementfor some action. Display 254 may be a liquid crystal display (LCD), gasplasma, light emitting diode (LED), or any other type of display usedwith a computing device. Display 254 may also include a touch sensitivescreen arranged to receive input from an object such as a stylus or adigit from a human hand.

Video interface 259 is arranged to capture video images, such as a stillphoto, a video segment, an infrared video, or the like. For example,video interface 259 may be coupled to a digital video camera, aweb-camera, or the like. Video interface 259 may comprise a lens, animage sensor, and other electronics. Image sensors may include acomplementary metal-oxide-semiconductor (CMOS) integrated circuit,charge-coupled device (CCD), or any other integrated circuit for sensinglight.

Keypad 256 may comprise any input device arranged to receive input froma user. For example, keypad 256 may include a push button numeric dial,or a keyboard. Keypad 256 may also include command buttons that areassociated with selecting and sending images. Illuminator 258 mayprovide a status indication and/or provide light. Illuminator 258 mayremain active for specific periods of time or in response to events. Forexample, when illuminator 258 is active, it may backlight the buttons onkeypad 256 and stay on while the client device is powered. Also,illuminator 258 may backlight these buttons in various patterns whenparticular actions are performed, such as dialing another client device.Illuminator 258 may also cause light sources positioned within atransparent or translucent case of the client device to illuminate inresponse to actions.

Mobile device 200 also comprises input/output interface 260 forcommunicating with external devices, such as a headset, or other inputor output devices not shown in FIG. 2. Input/output interface 260 canutilize one or more communication technologies, such as USB, infrared,Bluetooth™, or the like. Haptic interface 262 is arranged to providetactile feedback to a user of the client device. For example, the hapticinterface may be employed to vibrate mobile device 200 in a particularway when another user of a computing device is calling.

Optional GPS transceiver 264 can determine the physical coordinates ofmobile device 200 on the surface of the Earth, which typically outputs alocation as latitude and longitude values. GPS transceiver 264 can alsoemploy other geo-positioning mechanisms, including, but not limited to,triangulation, assisted UPS (AGPS), E-OTD, CI, SAI, ETA, BSS or thelike, to further determine the physical location of mobile device 200 onthe surface of the Earth. It is understood that under differentconditions, UPS transceiver 264 can determine a physical location withinmillimeters for mobile device 200; and in other cases, the determinedphysical location may be less precise, such as within a meter orsignificantly greater distances. In one embodiment, however, mobiledevice 200 may, through other components, provide other information thatmay be employed to determine a physical location of the device,including, for example, a MAC address, IP address, or the like.

Mass memory 230 includes a RAM 232, a ROM 234, and other storage means.Mass memory 230 illustrates another example of computer storage mediafor storage of information such as computer readable instructions, datastructures, program modules or other data. Mass memory 230 stores abasic input/output system (“BIOS”) 240 for controlling low-leveloperation of mobile device 200. The mass memory also stores an operatingsystem 241 for controlling the operation of mobile device 200. It willbe appreciated that this component may include a general purposeoperating system such as a version of UNIX, or LINUX™, or a specializedclient communication operating system such as Windows Mobile™, or theSymbian® operating system. The operating system may include, orinterface with, a Java virtual machine module that enables control ofhardware components and/or operating system operations via Javaapplication programs.

Memory 230 further includes one or more data storage 244, which can beutilized by mobile device 200 to store, among other things, applications242 and/or other data. For example, data storage 244 may also beemployed to store information that describes various capabilities ofmobile device 200. The information may then be provided to anotherdevice, including being sent as part of a header during a communication,sent upon request, or the like. Moreover, data storage 244 may also beemployed to store media content and/or social networking informationincluding text messages, address books, group member lists, or the like.At least a portion of the media content may also be stored on storagemedium 266, such as a disk drive, removable storage, or the like withinmobile device 200.

Applications 242 may include computer executable instructions which,when executed by mobile device 200, provide such functions as calendars,contact managers, task managers, transcoders, database programs, wordprocessing programs, screen savers, security applications, spreadsheetprograms, games, search programs, and so forth.

Browser 246 may be configured to receive and to send web pages, forms,web-based messages, and the like. Browser 246 may, for example, receiveand display (and/or play) graphics, text, multimedia, audio data, andthe like, employing virtually any web based language, including, but notlimited to Standard Generalized Markup Language (SGML), such asHyperText Markup Language (HTML), a wireless application protocol (WAP),a Handheld Device Markup Language (HDML), such as Wireless MarkupLanguage (WML), WMLScript, JavaScript, and the like. Browser 246 mayalso be configured to receive, store, and/or provide data. For example,in one embodiment, browser 246 may receive and store client device datain the form of a cookie, or the like.

Virtual billboard component (VBC) 248 includes any component configuredto manage searching and/or receiving virtual billboards. In oneembodiment, VBC 248 may be a component of browser 246 (e.g., aJavaScript, plug-in, or the like). In another embodiment, VBC 248 may aseparate process or program in communication with browser 246. In oneembodiment, VBC 248 may automatically and/or periodically retrieve GPSdata (coordinate) from GPS transceiver 264. VBC 248 may send the GPSdata over network interface(s) 250 to a Search and Billboard Server(SBS). VBC 248 may also manage sending a search query over networkinterface(s) 250. In one embodiment, VBC 248 may use browser 246 to sendthe search query. In one embodiment, browser 246 may send the GPS datawith the search query (e.g., in a hidden field of a web page, as part ofthe URL, HTTP header information, as an XML-RPC, web service, or thelike). VBC 248 may receive a virtual billboard over network interface(s)250. In one embodiment, VBC 248 may also receive a plurality of searchresults. The search results may be a web page, a list of URLs, or thelike. In on embodiment, at least one of the search results may beindicated as the virtual billboard. In one embodiment, VBC 248 mayreceive an alert in the form of the virtual billboard (e.g., through apush of the virtual billboard over network interface(s) 250 or a pull ofthe virtual billboard based on a polling).

In one embodiment, VBC 248 may provide the virtual billboard on display254, as a pop-up, an item (image, text, overlay) on a map, or the like.In one embodiment, VBC 248 may display the virtual billboard on browser246. In one embodiment, VBC 248 may provide the virtual billboard overaudio-interface 252 as a sound, video-interface 259, display 254, hapticinterface 262, or the like.

In one embodiment, VBC 248 may also provide a mechanism for entering auser preference. VBC 248 may provide a web page for entering the userpreference or other entry screen, though for example, browser 246. Theuser preference may be entered on input/output interface 260. In oneembodiment, a user preference may be based on a usage of mobile device200. In any case, VBC 248 may send the user preference(s) over networkinterface(s) 250 to an SBS for determining a virtual billboard toprovide to mobile device 200.

Illustrative Network Device

FIG. 3 shows one embodiment of a network device, according to oneembodiment of the invention. Network device 300 may include many morecomponents than those shown. The components shown, however, aresufficient to disclose an illustrative embodiment for practicing theinvention. Network device 300 may represent, for example, SBS 106 ofFIG. 1.

Network device 300 includes processing unit 312, video display adapter314, and a mass memory, all in communication with each other via bus322. The mass memory generally includes RAM 316, ROM 332, and one ormore permanent mass storage devices, such as hard disk drive 328, tapedrive, optical drive, and/or floppy disk drive. The mass memory storesoperating system 320 for controlling the operation of network device300. Any general-purpose operating system may be employed. Basicinput/output system (“BIOS”) 318 is also provided for controlling thelow-level operation of network device 300. As illustrated in FIG. 3,network device 300 also can communicate with the Internet, or some othercommunications network, via network interface unit 310, which isconstructed for use with various communication protocols including theTCP/IP protocol. Network interface unit 310 is sometimes known as atransceiver, transceiving device, or network interface card (NIC).

The mass memory as described above illustrates another type ofcomputer-readable media, namely computer storage media. Computer storagemedia may include volatile, nonvolatile, removable, and non-removablemedia implemented in any method or technology for storage ofinformation, such as computer readable instructions, data structures,program modules, or other data. Examples of computer storage mediainclude RAM, ROM, EEPROM, flash memory or other memory technology,CD-ROM, digital versatile disks (DVD) or other optical storage, magneticcassettes, magnetic tape, magnetic disk storage or other magneticstorage devices, or any other medium which can be used to store thedesired information and which can be accessed by a computing device.

The mass memory also stores program code and data. One or moreapplications 350 are loaded into mass memory and run on operating system320. Examples of application programs may include transcoders,schedulers, calendars, database programs, word processing programs, HTTPprograms (including XmlHTTPRequest (XHR), Asynchronous JavaScript andXML (AJAX), or JavaScript Object Notation (JSON) programs), customizableuser interface programs, IPSec applications, encryption programs,security programs, account management, and so forth.

Virtual billboard datastore (VBD) 352 includes any component for storingat least one virtual billboard. The virtual billboard may be stored inRAM 316, hard disk drive 328, or the like. The virtual billboard may bestored in a database, or the like. A data structure of the virtualbillboard may include a geo-location associated with the virtualbillboard, a type, a right by an advertiser to use the virtual billboard(e.g., a time range, usage constraint, or the like), at least oneidentify of one advertiser associated with the virtual billboard, andcontent for the virtual billboard (e.g., text, image, sound, or othermultimedia).

Search manager 353 includes any component for performing a search basedon a search query. Search manager 353 may perform any variety of searchtechniques, including an inverse lookup search, use a latent semanticdistance, clustering, information gain, or the like. The search querymay comprise a plurality of keywords. Search manager 353 may perform aninformation retrieval search on a database or other knowledge base ofdocuments, stored for example, on hard disk drive 328, RAM 316, or thelike. Search manager 353 may perform the search based on geo-locationinformation. For example, a document may be associated with ageo-location because it includes keywords associated with thatgeo-location (e.g., an address, a zip-code, or the like). Theinformation retrieval search may weigh the search result based on aproximity between a geo-location identified by the geo-locationinformation and a geo-location associated with the documents.

Virtual billboard manager (VBM) 355 includes any component for managingthe purchase and provisioning of virtual billboards. VBM 355 may receivetraffic information associated with at least one geo-location. VBM 355may store the association in VBD 352. VBM 355 may compute the trafficmeasure or the like for the at least one geo-location. VBM 355 mayprovide a mechanism for purchasing a right to provide advertisementusing the virtual billboard. In one embodiment, VBM 355 may provide aweb page, web service, or the like over network interface 310. VBM 355may receive a payment, a bid, a reverse-bid, or the like, for the rightto use the virtual billboard over network interface 310. VBM 355 mayreceive an advertisement to be used with the virtual billboard overnetwork interface 310. In one embodiment, based on receive geo-locationinformation and/or search results provided by search manager 353, VBM355 may determine that the virtual billboard is to be provided for thegeo-location. VBM 355 may filter out other virtual billboards that doesnot meet at least one other non-geographic criteria, such as time, type,user preference(s), or the like. VBM 355 may select the virtualbillboard to be provided based on the other non-geographic criteria. Thevirtual billboard may be provided over network 310. An advertising usageor other charge related information may be recorded in virtual billboarddatastore 352 based on the providing of the virtual billboard.

Generalized Operation

The operation of certain aspects of the invention will now be describedwith respect to FIGS. 4-5. FIGS. 4-5 provide logical flow diagrams ofcertain aspects of the present invention. The processes of FIGS. 4-5 maybe implemented, for example, within client devices 101-104 and/or SBS106 of FIG. 1.

FIG. 4 illustrates a logical flow diagram generally showing oneembodiment of a process for providing advertising information on amobile device. Process 400 begins at block 402, where a purchase of aright to use a virtual billboard for a geo-location is determined. Theprocess of block 402 is described in more detail in conjunction withprocess 500 of FIG. 5. Processing then continues to block 404.

At block 404, a request is received from a mobile device. The requestmay be received over a network. The request may comprise a search query,geo-location information, or the like. The search query may comprise atleast one key word, a Boolean operator, or the like. Processing thencontinues to decision block 406.

At decision block 406, it is determined if the request includes thegeo-location information and excludes the query (e.g., does not includethe query). If it is determined if the request includes the geo-locationinformation and excludes the query, processing continues to block 408.Otherwise, processing continues to decision block 410.

At block 408, at least one virtual billboard is determined. In oneembodiment, the at least one virtual billboard may be determined basedon whether the virtual billboard is in proximity with the geo-locationidentified by the received geo-location information. In one embodiment,the search result may be generated based on the geo-locationinformation. The at least one virtual billboard may be determined basedon whether the virtual billboard is in proximity with the geo-locationidentified by the received geo-location information or the geo-locationassociated with the search result. In one embodiment, the at least onevirtual billboard may be determined to be at an equidistance between thetwo geo-locations, biased to one geo-location, or the other, based onlyon one geo-location, or the like. Processing then continues to block418.

At decision block 410, it is determined if the request includes thequery and excludes geo-location information. If the request includes thequery and excludes geo-location information, processing continues toblock 412. Otherwise, processing continues to decision block 414.

At block 412, the virtual billboard is determined based on whether thevirtual billboard is in proximity with a geo-location associated withthe search result. In one embodiment, the associated geo-location may bebased on a parse of the search result for a location (e.g., address,zip-code, or the like), based on meta-data associated with the searchresult, or the like. In one embodiment, the search result may begenerated based on the query. The generation may be based on any searchengine technology. Processing then continues to block 418.

At decision block 414, it is determined if the request includes thequery and includes the geo-location information. If the request includesthe query and includes the geo-location information, processingcontinues to block 416. Otherwise, processing returns to a callingprocess for further processing.

At block 416, the at least one virtual billboard is determined based onwhether the virtual billboard is in proximity with the geo-locationidentified by the received geo-location information or the geo-locationassociated with the search result. In one embodiment, the at least onevirtual billboard may be determined to be at an equidistance between thetwo geo-locations, biased to one geo-location, or the other, based onlyon one geo-location, or the like. In one embodiment, the search resultmay be generated based on the query. Processing then continues to block418.

At block 418, a virtual billboard is selected from the at least onevirtual billboard based on a non-geographic criterion. In oneembodiment, the non-geographic criteria may include a user preference, atype of the at least one virtual billboard, a time, a keyword includedin the query, or the like. In one embodiment, the non-geographiccriterion may be received with the request, or in a separatecommunication than the request. In one embodiment, a keyword may beassociated with a type of the virtual billboard and/or a content of anadvertisement provided with the virtual billboard (e.g., the keyword“football” may be associated with sports type billboards). Based on thenon-geographic criteria, the virtual billboard may be selected and/orother virtual billboards may be filtered out from the selection.

For example, at least two possible virtual billboards may be determinedbased on the received geo-location information and/or search query. Oneof the virtual billboards may be about sports equipment, while anothervirtual billboard may be about cars. Because the user is interested insports based on the user preference (non-geographic criteria), thevirtual billboard for sports equipment may be provided and/or ordered orotherwise prioritized higher than other provided virtual billboards.

In one embodiment, web surfing and/or querying may be tracked, and a setof keywords may be determined based on the surfing and/or tracking. Forexample, a user may visit a sports related website often. Thus, it wouldbe determined that the user preference and/or keyword associated withthe user (non-geographic criteria) may include a determined keyword,e.g., “sport.”

In another embodiment, a schedule, or other constraint may be used toselect a virtual billboard to be provided, for example, at a certaintime. In one embodiment, block 418 may be optional and may not beperformed. Processing then continues to block 420.

At block 420, at least one of the virtual billboard (e.g., the selectedvirtual billboard) is provided. In one embodiment, the virtual billboardmay be one of a plurality of search results sent to a client device. Inanother embodiment, the virtual billboard may be separate from theplurality of search results. The sent plurality of virtual billboardsmay be ordered. The plurality of virtual billboards may be displayed inseries, all at once, as a slide-show, or the like on a client device.Processing then continues to block 422.

At block 422, an advertising usage for the providing of the virtualbillboard is recorded. The advertising usage may be a charge, a bill, adebit of an account, or the like. In one embodiment, the advertisingusage may be based on the price, a pre-set amount, an amount based ontime of day, traffic, or the like. An account of an advertiser may bedebited, or otherwise modified to identify the advertising usage.Processing then returns to a calling process for further processing.

FIG. 5 illustrates a logical flow diagram generally showing oneembodiment of a process for managing a purchase of a virtual billboard.Process 500 begins at block 502, where traffic information for ageo-location is received. In on embodiment, the traffic information isreceived over a network. Processing then continues to block 504.

At block 504, a price for the virtual billboard is generated based onthe received traffic information. In one embodiment, the price for thevirtual billboard at the geo-location may be based on a linear functionof the traffic, a non-linear function, or the like. In one embodiment,the price may increase with an increase in the traffic.

In one embodiment, there may be different types of virtual billboards.The prices for different types of virtual billboards may be differentbased on demand (e.g., bidding), or the like. In one embodiment, theprice for a virtual billboard may be a one time charge, a charge perimpression, a charge based on an amount of traffic associated with thegeo-location when the virtual billboard is provided. Processing thencontinues to block 506.

At block 506, the at least one virtual billboard is provided forpurchase based on the price. Purchasing may comprise bidding, reversebidding, or any other form of purchasing of a right to displayadvertising information on the virtual billboard or otherwise use thevirtual billboard. In one embodiment, the purchased right for thevirtual billboard may be time limited, such as a lease of the virtualbillboard for a certain time, within a certain time window (e.g., everymorning at 9:00 AM-10:00 AM, Christmas 2007), or the like.

In one embodiment, purchase may be provided through a web page, or thelike using HTTP, or another protocol. In one embodiment, a plurality ofdifferent types of virtual billboards may be available for ageo-location. Each type may be for a different type of ads, based onsponsored/purchased keywords, or the like. For example, a virtualbillboard selling a car and a virtual billboard selling a sportsequipment may be available for the same geo-location. Purchasing may beavailable for the different types of virtual billboards. The types maycomprise a plurality of advertising categories, including consumergoods, automotive, luxury goods, electronics, services, or the like.Processing then continues to block 508.

At block 508, a purchase of a right to use the virtual billboard isreceived. The purchase may be received as an online transaction, apayment using a credit card (e.g., through a credit card vendor), or thelike. An account of the purchaser (e.g., advertiser) may be modified,credited, or the like, to show the purchase. Processing then continuesto block 510.

At block 510, an advertisement (e.g., received from the advertiser) maybe associated with the purchased virtual billboard based on thepurchased right. The advertisement may be text, a sound, an image, orother multimedia. The advertisement may be included within, or otherwiseassociated with the virtual billboard. The advertisement may be modifiedto fit with the virtual billboard (e.g., scaled, color-coordinated, orthe like). Processing then returns to a calling process for furtherprocessing.

It will be understood that each block of a flowchart illustration neednot be limited in the ordering shown in the illustration, and might beperformed in any ordering, or even performed concurrently, withoutdeparting from the spirit of the invention. It will also be understoodthat each block of the flowchart illustration, and combinations ofblocks in the flowchart illustration, can be implemented by computerprogram instructions. These program instructions might be provided to aprocessor to produce a machine, such that the instructions, whichexecute on the processor, create means for implementing the actionsspecified in the flowchart block or blocks. The computer programinstructions might be executed by a processor to cause a series ofoperational steps to be performed by the processor to produce a computerimplemented process such that the instructions, which execute on theprocessor to provide steps for implementing the actions specified in theflowchart block or blocks.

Accordingly, blocks of the flowchart illustration support combinationsof means for performing the specified actions, combinations of steps forperforming the specified actions and program instruction means forperforming the specified actions. It will also be understood that eachblock of the flowchart illustration, and combinations of blocks in theflowchart illustration, can be implemented by special purposehardware-based systems which perform the specified actions or steps, orcombinations of special purpose hardware and computer instructions.

The above specification, examples, and data provide a completedescription of the manufacture and use of the composition of theinvention. Since many embodiments of the invention can be made withoutdeparting from the spirit and scope of the invention, the inventionresides in the claims hereinafter.

What is claimed as new and desired to be protected by Letters Patent ofthe United States is:
 1. A method comprising: receiving, at a computingdevice, a request from a mobile device over a network; determining, viathe computing device, whether the request includes one or more of asearch query and geo-location information; when it is determined thatthe request includes the search query and excludes the geo-locationinformation: generating a search result based on the search query;parsing the search results to determine a first geo-location; anddetermining the at least one virtual billboard in proximity with thefirst geo-location derived from the search result; and communicating theat least one virtual billboard to the mobile device; and when it isdetermined that the request includes the geo-location informationidentifying a second geo-location and excludes the search query:determining at least one further virtual billboard in proximity with thesecond geo-location identified by the geo-location information; andcommunicating the at least one further virtual billboard to the mobiledevice.
 2. The method of claim 1, wherein the geo-location informationcomprises global positioning system data.
 3. The method of claim 1,further comprising: when it is determined that the request includes thegeo-location information identifying the second geo-location andincludes the search query: generating a further search result based onthe query and the received geo-location information identifying thesecond geo-location; parsing the further search results to determine athird geo-location; determining one or more virtual billboards inproximity with one or more of the second geo-location or the thirdgeo-location; and providing the one or more virtual billboards to themobile device.
 4. The method of claim 1, further comprising: recordingan advertising usage for the provided at least one virtual billboard. 5.The method of claim 1, further comprising: receiving traffic informationfor the first geo-location; generating a price for the at least onevirtual billboard based on the received traffic information; providingthe at least one virtual billboard for purchase based on the price; andreceiving a purchase of a right to associate an advertisement with theat least one virtual billboard, before providing the at least onevirtual billboard to the mobile device.
 6. The method of claim 1,further comprising ordering the at least one virtual billboard based ona proximity between each location of each of the at least one virtualbillboard and the geo-location information.
 7. The method of claim 1,further comprising: selecting the at least one virtual billboard basedon a preference of a user associated with the mobile device.
 8. Anapparatus, comprising: a processor; a non-transitory storage medium fortangibly storing thereon program logic for execution by the processor,the program logic comprising: receiving logic executed by the processorfor receiving a request from a mobile device over a network; determininglogic executed by the processor for determining whether the requestincludes one or more of a search query and geo-location information;when it is determined that the request includes the search query andexcludes the geo-location information: generating logic executed by theprocessor for generating a search result based on the search query;parsing logic executed by the processor for parsing the search resultsto determine a first geo-location; further determining logic executed bythe processor for determining the at least one virtual billboard inproximity with the first geo-location derived from the search result;and communication logic executed by the processor for communicating theat least one virtual billboard to the mobile device; and when it isdetermined that the request includes the geo-location informationidentifying a second geo-location and excludes the search query:determining logic executed by the processor for determining at least onefurther virtual billboard in proximity with the second geo-locationidentified by the geo-location information; and communication logicexecuted by the processor for communicating the at least one furthervirtual billboard to the mobile device.
 9. The apparatus of claim 8,wherein the geo-location information comprises a geolocation point basedon a global positioning system data, or a geo-location area based on theglobal positioning system data.
 10. The apparatus of claim 8, whereinthe program logic further comprises: providing an auction for the atleast one virtual billboard before providing the at least one virtualbillboard.
 11. The apparatus of claim 8, wherein the program logicfurther comprises: further determining logic executed by the processorfor determining a price for the advertising usage, wherein the price isbased on a plurality of global positioning system data associated with aplurality of mobile devices in proximity with another geo-locationassociated with the at least one virtual billboard, or based on anamount of historical query results associated with the othergeo-location; and receiving a payment for the advertising usage based onthe price.
 12. The apparatus of claim 8, wherein the program logicfurther comprises: selecting logic executed by the processor forselecting, before providing, the at least one virtual billboard from aplurality of virtual billboards based on a user preference criterion,wherein the plurality of virtual billboards is determined by thereceived request.
 13. The apparatus of claim 8, wherein the programlogic further comprising: when it is determined that the requestincludes the geo-location information identifying a second geo-locationand excludes the search query: further determining logic executed by theprocessor for determining the at least one further virtual billboard inproximity with the second geo-location identified by the geo-locationinformation; and further providing logic executed by the processor forproviding the at least one further virtual billboard to the mobiledevice.
 14. The apparatus of claim 8, wherein the program logic furthercomprising: when it is determined that the request includes thegeo-location information identifying a second geo-location and includesthe search query: another generating logic executed by the processor forgenerating a further search result based on the query and the receivedgeo-location information identifying the second geo-location; anotherparsing logic executed by the processor for parsing the further searchresult to determine a third geo-location; another determining logicexecuted by the processor for determining one or more virtual billboardsin proximity with one or more of the second geo-location or the thirdgeo-location; and another providing logic executed by the processor forproviding the one or more virtual billboards to the mobile device.
 15. Anon-transitory computer readable storage medium tangibly storingcomputer program instructions capable of being executed by a computerprocessor, the computer program instructions defining code for:receiving a request from a mobile device over a network; determinignwhether the request includes one or more of a search query andgeo-location information; when it is determined that the requestincludes the search query and excludes the geo-location information:generating a search result based on the search query; parsing the searchresults to determine a first geo-location; and determining the at leastone virtual billboard in proximity with the first geo-location derivedfrom the search result; and communicating the at least one virtualbillboard to the mobile device; when it is determined that the requestincludes the geo-location information identifying a second geo-locationand excludes the search query: determining the at least one furthervirtual billboard in proximity with the second geo-location identifiedby the geo-location information; and communicating the at least onefurther virtual billboard to the mobile device; and when it isdetermined that the request includes the geo-location informationidentifying a second geo-location and includes the search query:generating a further search result based on the query and the receivedgeo-location information identifying the second geo-location; parsingthe further search results to determine a third geo-location;determining one or more virtual billboards in proximity with one or moreof the second geo-location or the third geo-location; and communicatingthe one or more virtual billboards to the mobile device.
 16. Thenon-transitory computer readable storage medium of claim 15, wherein thecomputer program instructions further defining code for: filtering theat least one virtual billboard, the at least one further virtualbillboard or the one or more virtual billboards based on at least one ofa user preference, a type of the at least one virtual billboard, a time,or a keyword included in the query.
 17. A system comprising: aprocessor; a non-transitory storage medium for tangibly storing thereonprogram logic for execution by the processor, the program logiccomprising: receiving logic executed by the processor for receiving arequest from a mobile device over a network; determining logic executedby the processor for determining whether the request includes one ormore of a search query and geo-location information; when it isdetermined that the request includes the search query and excludes thegeo-location information: generating logic executed by the processor forgenerating a search result based on the search query; parsing logicexecuted by the processor for parsing the search results to determine afirst geo-location; and determining logic executed by the processor fordetermining the at least one virtual billboard in proximity with thefirst geo-location derived from the search result; and communicatinglogic executed by the processor for communicating the at least onevirtual billboard to the mobile device; when it is determined that therequest includes the geo-location information identifying a secondgeo-location and excludes the search query: determining logic executedby the processor for determining the at least one further virtualbillboard in proximity with the second geo-location identified by thegeo-location information; and communicating logic executed by theprocessor for communicating the at least one further virtual billboardto the mobile device; and when it is determined that the requestincludes the geo-location information identifying a second geo-locationand includes the search query: generating logic executed by theprocessor for generating a further search result based on the query andthe received geo-location information identifying the secondgeo-location; parsing logic executed by the processor for parsing thefurther search results to determine a third geo-location; determininglogic executed by the processor for determining one or more virtualbillboards in proximity with one or more of the second geo-location orthe third geo-location; and communicating logic executed by theprocessor for communicating the one or more virtual billboards to themobile device.
 18. The system of claim 17, further comprising: filteringlogic executed by the processor for filtering the at least one virtualbillboard, the at least one further virtual billboard or the one or morevirtual billboards based on at least one of a user preference, a type ofthe at least one virtual billboard, a time, or a keyword included in thequery.